
public class Barco {
	private int numBarco;
	private int x;
	private int y;
	private boolean orientacion;
	private int longitud;
	private boolean hundido=false;
	private int matriz[][]=new int[10][10];
	public Barco(int px,int py, boolean porientacion, int plongitud,int pmatriz[][],int pnumBarco){
		x=px;
		y=py;
		orientacion=porientacion;
		longitud=plongitud;
		matriz=pmatriz;
		numBarco=pnumBarco;
		if(orientacion){
			for(int i=0;i<longitud;i++){
				if(matriz[x+i][y]==0){
					matriz[x+i][y]=numBarco;					
				}else{
					if(numBarco==0&&matriz[x+i][y]!=9){
						matriz[x+i][y]=numBarco;
					}else{
						matriz[11][11]=0;
					}
				}
			}
		}else{
			for(int i=0;i<longitud;i++){
				if(matriz[x][y+i]==0){
					matriz[x][y+i]=numBarco;					
				}else{
					if(numBarco==0&&matriz[x][y+i]!=9){
						matriz[x][y+i]=numBarco;
					}else{
						matriz[11][11]=0;
						
					}
				}
			}
		}
		if(numBarco!=0){
			ponAgua();
		}
	}
	
	public boolean estaHundido(){
		if(longitud<=0){
		return true;
		}
		return false;
	}
	
	public void tocado(){
		longitud--;
	}
	
	public boolean comprobarCoor(int x,int y){
		try{
			if(matriz[x][y]!=0 && matriz[x][y]!=9){
				tocado();
				matriz[x][y]=0;
				return true;
			}
		}catch(Exception e){}
		return false;
	}	
	
	public void ponAgua(){
		if(orientacion){
			for(int i=x-1;i<=x+longitud;i++){
				for(int j=y-1;j<=y+1;j++){
					try{
						if(matriz[i][j]==0||matriz[i][j]==9){				
	
								matriz[i][j]=9;
	
						}
					}catch(Exception e){}
				}
			}
		}else{
			for(int i=x-1;i<=x+1;i++){
				for(int j=y-1;j<=y+longitud;j++){
					try{
						if(matriz[i][j]==0||matriz[i][j]==9){				
	
								matriz[i][j]=9;
	
						}
					}catch(Exception e){}
				}
			}
		}
	}
}
